package com.tql.pandian.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.datasource.annotation.Master;
import com.ruoyi.common.datasource.annotation.Slave;
import com.tql.pandian.entity.*;
import com.tql.pandian.vo.TqlStapProlossVO;
import com.tql.pandian.vo.TopCateStapProlossRecordVO;
import com.tql.pandian.vo.TopCateStapProlossVO;

import java.util.List;
import java.util.Map;

/**
* @author Administrator
* @description 针对表【tql_stap_proloss】的数据库操作Service
* @createDate 2024-02-23 16:51:14
*/
public interface TqlStapProlossService extends IService<TqlStapProloss> {

    /**
     * 顶级类别损益分析合计
     * @param params
     * @return
     */
    List<TopCateStapProlossVO> selectTopcatePage(Map<String, Object> params);

    List<TopCateStapProlossVO> selectTopcateDeptPage(Map<String, Object> params);
    /**
     * 顶级类别损益分析列表
     * @param params
     * @return
     */
    List<TopCateStapProlossVO> selectPage(Map<String, Object> params);

    /**
     * 各部门该物料损益分析
     * @param params
     * @return
     */
    List<TopCateStapProlossVO> selectDeptStapPage(Map<String, Object> params);


    List<TopCateStapProlossVO> selectdeptCatePage(Map<String, Object> params);

    List<TqlStapProlossItem> info(Map<String, Object> params);

    List<TopCateStapProlossVO> deptPage(Map<String, Object> params);

    List<TqlStapProlossDiagnosis> diagnosis(Map<String, Object> params);

    List<TqlStapProlossDiagnosisInfo> diagnosisInfo(Map<String, Object> params);

    List<TqlStapProlossItem> infoItem(Map<String, Object> params);

    TqlStapProloss selectSpuDeptPage(Long id);

    List<TqlStapProlossDiagnosisInfo> stapProlossAnalys(String pandianCode);

    List<TqlStapProloss>stapProlossAnalysDetail(Long[] idArr);

    ProlossDetialDto findStapProlossDetailByPid(Long id);

    ProlossDetialDto infoDetial(Map<String, Object> params);

    @Master
    TqlStapProloss findStapProloss(Long id);

@Slave
    List<IncaseDto> findInfo(String incaseIds, Integer month, int i);
    @Master
    IncaseDto findPandianById(Long thisPandianId);
}
